package com.kk.io;

import cn.hutool.core.io.FileTypeUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.io.file.FileAppender;
import cn.hutool.core.io.file.FileNameUtil;
import cn.hutool.core.io.file.Tailer;
import cn.hutool.core.lang.Console;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;


public class FileUtilT {

    public static void main(String[] args) throws FileNotFoundException {
        // 复制目录
        FileUtil.copy(new File("D:\\MH\\Desktop\\proj\\advance\\hutool\\src\\main\\java\\com\\kk\\io"),
                new File("D:\\MH\\Desktop\\proj\\advance\\AUTOGENRATE"),
                true);
        System.out.println("copy successfully!!!");


        // 删除目录
        FileUtil.del("D:\\MH\\Desktop\\proj\\advance\\AUTOGENRATE");


        //获取文件
        File file = FileUtil.file("D:\\MH\\Desktop\\win11配置 - 副本.txt");
        //得到输入流
        FileReader fileReader = new FileReader(file);
        //通过流读取内容
        String content = IoUtil.read(fileReader);
        System.out.println(content);
        //获取文件类型
        String type = FileTypeUtil.getType(file);
        System.out.println(type);

        //文件追加
        FileAppender fileAppender = new FileAppender(file, 16, true);
        fileAppender.append("wo shi zhui jia");
        fileAppender.flush();
        System.out.println(fileAppender);

        // CONSOLE_HANDLER 表示文件新增内容默认输出到控制台
        Tailer tailer = new Tailer(file, Tailer.CONSOLE_HANDLER, 1);
        //开启文件监听
//        tailer.start();

        //文件名工具
        String name = FileNameUtil.getName(file);
        System.out.println(name);
        Console.log(FileNameUtil.getPrefix(file));
        Console.log(FileNameUtil.getSuffix(file));
        //会去找工作目录，也会去找资源路径下的图片
        Console.log(FileNameUtil.getPrefix("img/receiveImg.jpg"));
        Console.log(FileNameUtil.getSuffix("img/receiveImg.jpg"));


    }
}
